#include "kopcodes.h"
#include "ktoken.h"
#include "kconfig.h"

#include <stack>

k_uint calculateOpSize(TokenType tt)
{
	switch (tt)
	{
	case TOK_LITINT:
		return 5; //ldi
	case TOK_LITREAL:
		return 9; //ldr
	case TOK_LITSTRING:
		return 5; //lds
	case TOK_VAR:
		return 5; //ldvar
	case TOK_UPLUS:
	case TOK_ADD:
	case TOK_SUB:
	case TOK_MUL:
	case TOK_DIV:
	case TOK_IDIV:
	case TOK_MOD:
	case TOK_POW:
	case TOK_EQU:
	case TOK_NEQ:
	case TOK_LT:
	case TOK_LTE:
	case TOK_GT:
	case TOK_GTE:
	case TOK_CAT:
	case TOK_AND:
	case TOK_OR:
	case TOK_XOR:
	case TOK_NOT:
	case TOK_CINT:
	case TOK_CREAL:
		return 1;
	case TOK_FUNC:
		return 5;
	default:
		return 0;
	}
}
